(0) Obligation:
Runtime Complexity TRS:
The TRS R consists of the following rules:
prime(0) → false
prime(s(0)) → false
prime(s(s(x))) → prime1(s(s(x)), s(x))
prime1(x, 0) → false
prime1(x, s(0)) → true
prime1(x, s(s(y))) → and(not(divp(s(s(y)), x)), prime1(x, s(y)))
divp(x, y) → =(rem(x, y), 0)
Rewrite Strategy: INNERMOST
(1) CpxTrsToCpxRelTrsProof (BOTH BOUNDS(ID, ID) transformation)
Transformed TRS to relative TRS where S is empty.
(2) Obligation:
Runtime Complexity Relative TRS:
The TRS R consists of the following rules:
prime(0) → false
prime(s(0)) → false
prime(s(s(x))) → prime1(s(s(x)), s(x))
prime1(x, 0) → false
prime1(x, s(0)) → true
prime1(x, s(s(y))) → and(not(divp(s(s(y)), x)), prime1(x, s(y)))
divp(x, y) → =(rem(x, y), 0)
S is empty.
Rewrite Strategy: INNERMOST
(3) SlicingProof (LOWER BOUND(ID) transformation)
Sliced the following arguments:
prime1/0
divp/0
divp/1
=/0
=/1
rem/0
rem/1
(4) Obligation:
Runtime Complexity Relative TRS:
The TRS R consists of the following rules:
prime(0) → false
prime(s(0)) → false
prime(s(s(x))) → prime1(s(x))
prime1(0) → false
prime1(s(0)) → true
prime1(s(s(y))) → and(not(divp), prime1(s(y)))
divp → =
S is empty.
Rewrite Strategy: INNERMOST
(5) DecreasingLoopProof (EQUIVALENT transformation)
The following loop(s) give(s) rise to the lower bound Ω(n1):
The rewrite sequence
prime1(s(s(y))) →+ and(not(divp), prime1(s(y)))
gives rise to a decreasing loop by considering the right hand sides subterm at position [1].
The pumping substitution is [y / s(y)].
The result substitution is [ ].
(6) BOUNDS(n^1, INF)